Day 27:事實查核機制,攔截技術文章中的幻覺 結尾留下一句話,事實查核機制今天有了,但審查代理人比對出落差之後,什麼情況下這個落差足以自動判定並打回,什麼情況下反而應該交由人類做最終判斷,這件事今天還沒有答案,將在下一篇正式揭曉。今天要正面回答這件事。
Day 27 已經定案審查代理人成文後查核事實正確性的兩階段機制。第一階段全文掃描,逐句檢視成品,列出所有具時效性或版本相關的技術宣稱清單。第二階段交叉比對,針對清單裡每一項技術宣稱,主動呼叫外部即時查詢管道,確認這句話在現在這個時間點是否依然成立。一旦比對出落差,問題回饋精準指向對應段落與具體宣稱本身。
這個機制今天不重新展開,本篇站在它已經定案的基礎上,繼續往下走一步。揪出落差是一回事,落差被揪出來之後該怎麼被處置,是另一回事,這正是 Day 27 結尾留下的空白。審查代理人已經知道某句話跟外部資訊對不上,但對不上之後,是該直接打回去重寫,還是應該先停下來,讓人類看一眼再決定,這件事到目前為止都還沒有答案。這個空白如果不填上,兩階段機制就只完成了一半,前段找得再準,後段沒有處置規則接手,找到的落差終究只能停在原地,沒有下一步。
在往下走之前,先把今天的任務範圍畫清楚。今天只做兩件事,正式定義 Human-in-the-loop 這個詞,並設計一套判準,區分哪些落差可以自動判定打回,哪些必須交由人類做最終決策。今天不重新展開事實查核機制本身,也不展開接下來幾天才要處理的查核方法。
先把這個詞正式講清楚。Human-in-the-loop,縮寫 HITL,指的是系統設計中明確保留人類介入決策的節點。
之所以需要在系統設計裡明確保留這樣的節點,是因為自動化程度愈高的系統,愈容易讓人誤以為所有判斷都可以交給程式邏輯一次處理到底。但有些判斷本質上不存在唯一答案,把這類判斷硬塞進自動化流程,只會讓系統在該謹慎的地方顯得武斷。明確標出哪裡該由人類拍板,等於是在系統設計階段就先承認,人機協同是清楚劃出各自該站的位置,不是把所有工作都丟給 Agent,這件事本身就是這個系列從 Day 03 拆分四種角色以來反覆出現的主題。
這不是今天臨時冒出來的新詞。系列規劃階段就已經預告,這個詞會在審查代理人開發階段定案,對應天數當時標註為待補。今天正是回填這個待補天數的時刻。
定義詞彙本身還不夠。一個名詞就算定義得再精確,如果沒有指出系統裡哪些具體位置屬於這個名詞所描述的節點,這個定義就只是一句抽象的宣告,沒有實踐。所以今天要完成的事情有兩件,缺一不可,第一是正式定義 HITL 這個詞,第二是列出系列中哪些節點屬於此類。第一件事到這裡已經完成,第二件事留到本篇後續章節,等判準設計完成之後再正式列出清單。
接下來進入本篇最核心的命題。審查代理人比對出的落差,並不是只有一種樣貌,有些落差一眼就能判斷是非,有些落差則牽涉主觀取捨,沒有唯一標準答案。今天要做的,就是把這兩種落差用一套具體判準區分開來。
判準的核心方向是,落差本身是否明確可驗證,也就是比對結果是否存在唯一合理解讀。
第一類,可自動判定並打回的落差。這類落差與外部官方文件、釋出說明存在單一且明確的矛盾,不存在其他合理解讀空間。舉例來說,審查代理人比對出某個宣稱在近期版本已被官方文件明確標示為不建議使用或已被移除,這種比對結果具有唯一性,官方文件白紙黑字寫著這個做法已經不再適用,不需要人類介入判斷是非。把畫面想得更具體一點,成品裡某一句描述某個函式的呼叫方式,審查代理人查到的官方文件卻明確寫著這個函式在近期版本已經標示為棄用,並且指向唯一的替代做法,這種情況下文字對文字,白紙黑字對上白紙黑字,沒有模糊地帶可言。遇到這種落差,審查代理人可以依內建判準直接判定為落差成立,打回對應上游角色。
第二類,必須交由人類做最終決策的落差。這類落差的比對結果存在多種合理解讀,可能涉及新舊寫法之間的主觀取捨,也可能是外部資訊來源本身分歧不一致,沒有唯一標準答案。舉例來說,某個宣稱雖然不是最新做法,但外部官方文件本身同時承認舊做法在特定情境下仍然是合法選項,這時候是否要求作者改用新寫法,牽涉的是讀者定位與文章意圖的判斷,不是單純的對錯問題。把畫面同樣想得更具體一點,成品裡某一句描述某個工具的指令參數用法,審查代理人查到的官方文件同時保留新舊兩種參數寫法,並註明依使用情境擇一皆可,甚至不同的社群討論串對哪一種寫法更適合入門讀者也各有立場,這種情況下沒有一份文件能單獨蓋棺論定,換句話說,這裡沒有唯一的「正確答案」可以套用,只有幾種都站得住腳的選擇。審查代理人不具備替讀者做這種主觀決定的正當性,遇到這種落差,須把問題回饋連同兩種以上合理解讀一併呈交給人類,由人類做最終判斷後再交回對應上游角色處理。
收束這套判準,明確可驗證的落差,交由審查代理人依內建判準直接判定;涉及主觀取捨或多重合理解讀的落差,則進入 HITL 節點,交由人類拍板。判準的分水嶺,不在於落差是否重要,而在於落差是否只有一種合理答案。
這裡需要正面處理一個容易讓讀者產生誤解的地方,也是今天規劃上最重要的一段。
Day 19:事實查證與撰寫的分工邊界 已經定案,審查代理人不負責產出任何一段會直接沿用進成品的新內容,職責是找出問題並回饋,不是動手重寫,修正執行權回到對應的上游角色。Day 03:拆解寫作工作流,規劃、撰寫、視覺、審查的四種角色 也定案,審查代理人介入時間點在前面三者都已經產出實際成果之後才開始工作,且不負責產出任何一段會直接沿用進成品的新內容,它的職責是找出問題並回饋,而不是動手重寫,發現問題之後,修正的執行權應該回到對應的上游角色。
今天引入 HITL 節點之後,這條既定邊界有沒有被打破?答案是沒有。
如果沒有這套判準,只憑一套統一規則處理所有落差,會出現兩種各自失衡的後果。
第一種後果,審查代理人若對所有落差一律自動打回,等於是把涉及主觀取捨的判斷也交給程式邏輯定奪,遇到新舊寫法皆合法、外部資訊本身就分歧不一致的情況,系統仍然強行給出一個「正確答案」,這種答案本質上只是審查代理人自己的偏好被包裝成客觀判定,讀者定位與文章意圖這類只有人類才能拿捏的考量,就這樣被繞過去了。
第二種後果,審查代理人若對所有落差一律呈交人類,等於是把本來一眼就能判斷是非的落差也丟給人類逐一確認,人類每天要看的不再是真正需要拿主意的少數案例,而是夾雜大量顯而易見、根本不必猶豫的機械性比對結果,久而久之人類會開始跳過細看,連真正需要謹慎判斷的案例也一併被囫圇放行,這套機制反而失去了它原本該起的把關作用。
這套判準之所以存在,正是為了讓審查代理人自動處理明確無疑的部分,把人類的注意力留給真正需要拿主意的地方,而不是讓判準淪為條列在規格書裡卻沒有實際作用的擺設。
不論落差屬於可自動判定的第一類,還是必須交由人類決策的第二類,審查代理人的動作其實是同一件事,找出落差並產出問題回饋,本身從未動手修改成品內容。差別只在於,回饋送出之後,是直接送回上游角色,還是先繞經人類這一站再送回上游角色。可自動判定的情況,由審查代理人依內建判準直接判定打回對應上游角色。必須交由人類決策的情況,則是問題回饋連同兩種以上合理解讀一併呈交給人類,由人類做最終判斷後再交回對應上游角色處理。
兩種類型的差異,只在於回饋之後由誰做「是否打回」這個決策,不在於審查代理人的職責範圍本身有任何擴張。這套機制是回饋之後決策權歸屬的分流,不是審查代理人職責範圍的擴張。決策權換了手,職責邊界沒有換。
今天正面回答了 Day 27 留下的伏筆,審查代理人揪出落差之後,什麼情況下足以自動判定並打回,什麼情況下反而應該交由人類做最終判斷,今天正式給出答案。
今天也正式定義了 Human-in-the-loop,縮寫 HITL,系統設計中明確保留人類介入決策的節點,回填了系列既定錨點總表裡這一項待補的天數。判準的核心方向是落差本身是否明確可驗證,與外部官方文件、釋出說明存在單一且明確矛盾、不存在其他合理解讀空間的落差,審查代理人可以依內建判準直接判定並打回對應上游角色;比對結果存在多種合理解讀、涉及新舊寫法之間主觀取捨、或外部資訊來源本身分歧不一致、沒有唯一標準答案的落差,則須連同兩種以上合理解讀一併呈交給人類,由人類做最終判斷後再交回對應上游角色處理。
這個判準與 Day 19、Day 03 定案的審查代理人職責邊界完全吻合,不論哪一種類型,審查代理人的動作都只是找出落差並產出問題回饋,從未動手修改成品內容,兩者的差異只在於回饋之後由誰做「是否打回」這個決策,是決策權換了手,不是職責邊界換了手。
今天正式列出系統中屬於 HITL 節點的項目,目前確立的是事實查核落差裡涉及主觀取捨或多重合理解讀的類型。未來系統其他面向的落差,是否也適用同一套 HITL 判準,這件事值得留意,但今天不展開驗證。
HITL 節點今天定案了,但今天處理的落差判準都聚焦在事實正確性這個面向。審查代理人另外兩項待展開的查核面向,可讀性與去 AI 腔調、格式一致性,是否也存在需要人類介入的節點,這件事今天還沒有答案,將在下一篇正式揭曉。